package com.ibeeking.found.log.rest.service;

import com.ibeeking.found.log.service.common.param.LogCodeGroupAddByCodeParam;
import com.ibeeking.found.log.service.common.param.LogCodeGroupParam;
import com.ibeeking.found.log.service.common.vo.LogCodeGroupVO;
import com.ibeeking.found.log.service.common.query.LogCodeGroupQuery;
import com.ibeeking.found.log.service.common.query.LogCodeGroupPageQuery;
import com.ibeeking.found.log.service.common.vo.LogCodeSimpleVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;


/**
 * ILogCodeGroupService
 *
 * @Author ibeeking
 * @Date 2021-02-25 17:54
 */
public interface ILogCodeGroupService {

    /***
     * 查询列表
     */
    List<LogCodeGroupVO> list(LogCodeGroupQuery logCodeGroupQuery);

    /***
     * 分页查询
     */
    Page<LogCodeGroupVO> pageList(LogCodeGroupPageQuery logCodeGroupPageQuery);

    /**
     * 根据分组id查询
     * @param groupId
     * @return
     */
    List<LogCodeSimpleVO> selByGroupId(Long groupId);

    /***
     * 新增
     */
    Boolean add(LogCodeGroupParam logCodeGroupParam);

    /***
     * 新增
     */
    Boolean addByCodeId(LogCodeGroupAddByCodeParam param);

    /***
     * 修改
     */
    Boolean modify(LogCodeGroupParam logCodeGroupParam);

    /***
     * 通过id查询
     */
    LogCodeGroupVO view(Long id);

    /***
     * 通过id删除
     */
    Boolean del(Long id);

    /**
     * 根据编码id删除
     *
     * @param codeId
     * @return
     */
    Boolean delByCodeId(Long codeId);

    /**
     * 根据分组id删除
     *
     * @param groupId
     * @return
     */
    Boolean delByGroupId(Long groupId);
}